package tbs.framework.boardcast.notify;

import tbs.framework.boardcast.subject.ISubject;

/**
 * 观察者提示实体接口
 *
 * @param <T>
 * @author tongj
 */
public interface INotifying<T> {
    /**
     * 获取提示类型
     *
     * @return
     */
    Integer getType();

    /**
     * 获取主题
     *
     * @return
     */
    ISubject getSubject();

    /**
     * 获取状态
     *
     * @return
     */
    Integer getStatus();

    /**
     * 设置状态
     *
     * @param status
     * @return
     */
    INotifying<T> setStatus(Integer status);

    /**
     * 获取数据
     *
     * @return
     */
    T getData();
}
